// pages/order/order.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    currentTab: 0, // 默认选中"正在进行的订单"
    // 正在进行的家教订单
    ongoingOrders: [
      {
        id: 1,
        title: "高一数学一对一辅导",
        tutor: "李老师（北京大学数学系）",
        time: "每周一、三 19:00-21:00",
        location: "线上授课",
        price: 200,
        progress: "已上8课时/共20课时"
      },
      {
        id: 2,
        title: "雅思口语专项提升",
        tutor: "张老师（雅思8.5分）",
        time: "每周六 10:00-12:00",
        location: "线下校区",
        price: 300,
        progress: "已上3课时/共12课时"
      }
    ],
    // 正在预约的家教订单
    bookingOrders: [
      {
        id: 3,
        title: "初中物理基础巩固",
        tutor: "王老师（师范大学物理系）",
        time: "7月15日开始 每周二、四 18:30-20:00",
        location: "学生家中",
        price: 180,
        status: "已预约，待开课"
      },
      {
        id: 4,
        title: "小学作文写作指导",
        tutor: "刘老师（小学语文高级教师）",
        time: "7月20日开始 每周日 9:30-11:30",
        location: "线上授课",
        price: 150,
        status: "已预约，待开课"
      }
    ]
  },

  /**
   * 切换选项卡
   */
  switchTab(e) {
    const tab = parseInt(e.currentTarget.dataset.tab);
    // 只有当点击的不是当前选中的选项卡时才切换
    if (this.data.currentTab !== tab) {
      this.setData({
        currentTab: tab
      });
      // 可以在这里添加切换时的额外逻辑，如刷新对应状态的订单
      // this.loadOrdersByStatus(tab);
    }
  },

  /**
   * 查看订单详情
   */
  viewOrderDetail(e) {
    const orderId = e.currentTarget.dataset.id;
    // 跳转到订单详情页，携带订单ID
    wx.navigateTo({
      url: `/pages/orderDetail/orderDetail?id=${orderId}`
    });
  },

  /**
   * 取消预约
   */
  cancelBooking(e) {
    const orderId = e.currentTarget.dataset.id;
    const that = this;
    
    wx.showModal({
      title: '取消预约',
      content: '确定要取消该预约吗？',
      success(res) {
        if (res.confirm) {
          // 过滤掉被取消的订单
          const updatedOrders = that.data.bookingOrders.filter(order => order.id !== orderId);
          that.setData({
            bookingOrders: updatedOrders
          });
          
          wx.showToast({
            title: '已取消预约',
            icon: 'success',
            duration: 2000
          });
        }
      }
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 页面加载时可以从服务器加载订单数据
    // this.loadOrders();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 页面显示时刷新订单数据
    // this.loadOrders();
  },

  /**
   * 从服务器加载订单数据
   */
  loadOrders() {
    // 实际项目中这里会调用wx.request获取服务器数据
    // 示例代码：
    /*
    wx.request({
      url: 'https://your-server.com/api/orders',
      method: 'GET',
      data: {
        userId: wx.getStorageSync('userId')
      },
      success: (res) => {
        if (res.data.success) {
          this.setData({
            ongoingOrders: res.data.ongoingOrders,
            bookingOrders: res.data.bookingOrders
          });
        }
      }
    });
    */
  },

  /**
   * 根据状态加载订单
   */
  loadOrdersByStatus(status) {
    // 可以根据状态单独加载对应的数据
  }
})